<template>
    <div class="person">
        <h2>姓名: {{ name }}</h2>
        <h2>年龄: {{ age }}</h2>
        <button @click="changeName">修改姓名</button>
        <button @click="changeAge">修改年龄</button>
        <button @click="showTel">查看联系方式</button>
    </div>
</template>

<!-- 这里可以使用 vue 插件 vite-plugin-vue-setup-extend 来在setup的script标签上声明name来实现 -->
<!-- <script lang="ts">
    export default {
        name: 'Person'
    }
</script> -->

<!-- 可以在 script 标签中声明 setup, 这样可以直接在script中写setup中的内容，并且其中定义的东西会自动return -->
<script lang="ts" setup name="Person-xxxx">
    // 定义数据
    let name = '张三'
    let age = 18
    let tel = '15666968248'
    function changeName() {
        name = 'zhang-san'
    }

    function changeAge() {
        age += 1
    }
    function showTel() {
        alert(tel)
    }
</script>


<style scoped>
.person {
    background-color: skyblue;
    box-shadow: 0 0 10px;
    border-radius: 10px;
    padding: 20px;
}

button {
    margin: 0 5px;
}
</style>